package cn.tedu.spring.autowired.controller;

import cn.tedu.spring.autowired.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

@Controller("userController")
public class UserController {
//  方式2 set注入  @Autowired
//    public void setUserService(UserService userService) {
//        this.userService = userService;
//    }

    /**
     * 单独使用@Autowired注解，默认根据类型装配（byType）
     * @Autowired注解有一个required属性，默认值是true，表示在注入的时候要求被注入的Bean必须存
     * 在，如果不存在则报错。如果required属性设置为false，表示注入的Bean存在或者不存在都没关系，存
     * 在就注入，不存在也不报错。
     */
// 方法1 属性注入   @Autowired
    @Autowired @Qualifier(value = "service2")
    private UserService userService;
    public void con(){
        System.out.println("输出成功");
        userService.ser();
    }
//  方式3 构造方法注入  @Autowired
//    public UserController( UserService userService) {
//        this.userService = userService;
//    }

}
